﻿namespace DDD_Extensions.Options;

public sealed record OAuthSchemeOption
{
    public string DefaultAuthenticateScheme { get; set; }

    public string DefaultSignInScheme { get; set; }

    public string DefaultChallengeScheme { get; set; }

    public string CookieScheme { get; set; }

    public string OAuthScheme { get; set; }

    public OAuthOption OAuthOption { get; set; }
}

public sealed record OAuthOption
{
    public string CallbackPath { get; private set; }

    public string ClientId { get; private set; }

    public string ClientSecret { get; private set; }

    public string AuthorizationEndpoint { get; private set; }

    public string TokenEndpoint { get; private set; }

    public string[] Scopes { get; private set; }
}